#ifndef __KYLIN_FTKEY_H_
#define __KYLIN_FTKEY_H_

#include "type.h"

#include "ukey-macro.h"

#ifdef ENABLE_FTKEY

/*
 * ftkey_activate_system, activate system with feitian key
 * return NO_ERROR if succeed, or error number if not
 */
int ftkey_activate_system(const char* license_serial, 
			  const char* kyinfo_ukey, const char* expire_date, 
			  encrypted_number_generator ukey_raw_generator);

/*
 * ftkey_get_hid_buf, get hid of feitian key
 * return NO_ERROR if succeed, or error number if not
 */
char* ftkey_get_hid();

/*
 * ftkey_dump, dump feitian key information to file f
 * encrypt: whether encryption is needed or not
 * display_all: whether display all information or not
 * return NO_ERROR if succeed, or error number if not
 */
int ftkey_dump();

/*
 * ftkey_find, find feitian key
 * return NO_ERROR if feitian key is inserted, or error number if not
 */
int ftkey_find(unsigned int* count);

#endif // ENABLE_FTKEY

#endif
